<?php
App::uses('AppController', 'Controller');

class AjaxController extends AppController {
    
        public $name = 'Ajax';
	public $components = array('RequestHandler', 'Utilities');
        public $uses = array('Estado', 'Cidade', 'UnidadeEnsinoCurso', 'Colaborador', 'Turma', 'DisciplinaTurma', 'CursoDisciplina');
        
        
        public function atualizar_estados($idPais){
            $estados = $this->Estado->find('list', array('conditions' => array('pais_id' => $idPais)));
            $this->Utilities->adicionarItemChaveVazia($estados, '--Selecione--');
            $this->set('estados', $estados);
        }
        
        public function atualizar_cidades($idEstado){
//            Router::parseExtensions('json');
            $cidades = $this->Cidade->find('list', array('conditions' => array('estado_id' => $idEstado)));
            $this->Utilities->adicionarItemChaveVazia($cidades, '--Selecione--');
//            $this->set(array('estados' => $estados, '_serialize' => 'estados'));
            $this->set('cidades', $cidades);
//            $this->set('_serialize', array('cidades'));
            
        }
        
        public function atualizar_cursos_turma($idUnidade){
//            $contain = array('UnidadeEnsinoCurso');
            
            $cursos = $this->UnidadeEnsinoCurso->find('all', array('fields' => array('Curso.id', 'Curso.nome'),
                                                                   'contain' => array('Curso'),
                                                                   'conditions' => array('Curso.ativo' => 'S',
                                                                                         'UnidadeEnsinoCurso.unidade_ensino_id' => $idUnidade)));
            
            $this->set('cursos', $cursos);
        }
        
        public function atualizar_turma_por_unidade_curso($idUnidadeEnsino, $idCurso){
            $opcoes = array('fields' => array('Turma.id', 'Turma.codigo'),
                             'contain' => array('UnidadeEnsinoCurso'),
                             'conditions' => array('UnidadeEnsinoCurso.unidade_ensino_id' => $idUnidadeEnsino,
                                                   'UnidadeEnsinoCurso.curso_id' => $idCurso,
                                                   'Turma.data_fim >=' => date('Y-m-d')),
                             'order' => array("Turma.codigo"));
                
            $turmas = $this->Turma->find('list', $opcoes);
            
            $this->set("turmas", $turmas);
        }
        
        public function obter_disciplinas_por_turma($idTurma){
            $disciplinas = $this->DisciplinaTurma->find('all', array('contain' => array('Disciplina' => array('CursoDisciplina')),
                                                                     'conditions' => array('DisciplinaTurma.turma_id' => $idTurma)));
            
            foreach($disciplinas as $chave => $valor){
                $this->Utilities->formatarDecimal($disciplinas[$chave]['Disciplina']['CursoDisciplina'][0]['valor'], false);
            }
            
            $this->set("disciplinas", $disciplinas);
            
        }
        
        public function obter_disciplinas_para_curso($idUnidadeEnsino, $idCurso){
            $professores = $this->obterProfessorPorUnidade($idUnidadeEnsino);
            $this->Utilities->adicionarItemChaveVazia($professores, '--Selecione--');
            $cursoDisciplinas = $this->CursoDisciplina->find('all', array('contain' => array('Disciplina'),
                                                                          'conditions' => array('CursoDisciplina.curso_id' => $idCurso)));
            
            $this->set(compact("professores", "cursoDisciplinas"));
        }
        
        private function obterProfessorPorUnidade($idUnidade){
            $contain = array('UnidadeEnsino' => array('conditions' => array('UnidadeEnsino.id' => $idUnidade)), 'Pessoa');
            $this->Colaborador->recursive = 0;
            $professoresBd = $this->Colaborador->find('all', array('fields' => array('Colaborador.id', 'Pessoa.nome'),
                                                                   'contain' => $contain,
                                                                   'conditions' => array('Colaborador.ativo' => 'S',
                                                                                         'Colaborador.cargo_id' => 2)));
            
            $professores = array();
            foreach($professoresBd as $chave => $valor){
                $professores[$valor['Colaborador']['id']] = $valor['Pessoa']['nome'];
            }
            
            return $professores;
        }
        
//        public function obter_valor_curso_por_turma($idTurma){
////            $this->$layout = "ajax";
//            
//            $turma = $this->Turma->find('first', array('contain' => array('UnidadeEnsinoCurso'),
//                                                       'conditions' => array('Turma.id' => $idTurma)));
//            
//            $valor = $turma['UnidadeEnsinoCurso']['valor'];
//            
////            $this->set(array('valor' => $valor, '_serialize' => array('valor')));
//            $this->set('valor', $valor);
//        }
}
